기능 안전
더 많은 작업
기능 안전(Functional Safety)은 전기·전자·프로그래머블 전자(E/E/PE) 제어 시스템이 고장이나 오류를 일으켜도, 그 시스템에 들어 있는 안전 기능이 올바르게 동작하여 사람·재산·환경에 대한 위험을 허용 가능한 수준 아래로 유지하는 성질이다.
안전은 위험이 허용할 수 없는 수준이 아닌 상태를 말한다. 그 안전 가운데 방폭 구조나 방화벽처럼 물리적 수단이 아니라, 센서·제어기·액추에이터로 이루어진 제어 시스템이 제대로 동작하는 것에 기대는 부분이 기능 안전이다. 예를 들어 보일러 압력이 일정 값을 넘으면 연료 밸브를 자동으로 잠그는 기능, 자동차 에어백이 충돌 시 정확히 터지고 평소에는 터지지 않는 기능이 기능 안전의 대상이다.
기능 안전의 기본 표준은 국제전기기술위원회(IEC)의 IEC 61508이다. IEC 61508은 위험 분석으로 필요한 안전 기능을 찾고, 그 기능이 얼마나 믿을 만해야 하는지를 안전 무결성 수준(SIL)으로 정한 뒤, 개념부터 폐기까지 안전 수명주기 전 단계에서 이를 관리하도록 요구한다. 자동차·의료기기·항공·철도·원자력 등은 이를 바탕으로 분야별 표준을 두고 있다.
| 용어 | 의미 |
|---|---|
| 위험원(hazard) | 피해를 일으킬 수 있는 잠재적 원천 |
| 위험(risk) | 피해의 발생 빈도와 심각도의 조합 |
| 허용 가능 위험 | 사회적 가치 기준에서 받아들일 수 있는 위험. 합리적으로 실행 가능한 한 낮추는 ALARP 원칙을 쓴다 |
| 안전 기능 | 위험한 사건에 대해 안전한 상태를 만들거나 유지하는 기능 |
| 안전 무결성 | 정해진 조건에서 정해진 기간 동안 안전 기능을 만족스럽게 수행할 확률 |
| SIL | 안전 무결성의 이산 등급. SIL 1~4, 숫자가 클수록 엄격하다 |
| 랜덤 하드웨어 고장 | 부품 열화 등으로 무작위로 일어나는 고장. 고장률로 정량화한다 |
| 체계적 고장 | 설계·명세·소프트웨어 결함처럼 원인이 정해진 고장. 확률로 다루기 어려워 개발 절차와 기법으로 막는다. 소프트웨어 오류는 모두 체계적 고장이다 |
SIL별 목표 고장 확률은 다음과 같다.
| SIL | 저빈도 작동 모드: 요구 시 위험측 고장 확률(PFD) | 고빈도·연속 모드: 시간당 위험측 고장 확률(PFH) |
|---|---|---|
| 4 | 10-5 이상 10-4 미만 | 10-9 이상 10-8 미만 |
| 3 | 10-4 이상 10-3 미만 | 10-8 이상 10-7 미만 |
| 2 | 10-3 이상 10-2 미만 | 10-7 이상 10-6 미만 |
| 1 | 10-2 이상 10-1 미만 | 10-6 이상 10-5 미만 |
| 구분 | 소프트웨어 안전(Safety) | 소프트웨어 보안(Security) |
|---|---|---|
| 보호 대상 | 사람의 생명·건강, 재산, 환경 | 정보 자산의 기밀성·무결성·가용성 |
| 위협의 원인 | 우연한 고장, 설계 결함, 오조작(비의도적) | 공격자의 의도적 행위 |
| 관점 | 시스템이 주변에 해를 끼치지 않게 | 시스템이 외부로부터 해를 입지 않게 |
| 분석 기법 | 위험원 분석, FMEA, FTA, HAZOP | 위협 모델링, 취약점 분석, 침투 시험 |
| 대표 표준 | IEC 61508, ISO 26262, IEC 62304 | ISO/IEC 27001, IEC 62443, ISO/SAE 21434 |
| 위험 변화 | 고장률 기반으로 비교적 안정적 | 공격 기법이 계속 진화 |
둘은 서로 영향을 준다. 보안 공격으로 안전 기능이 무력화될 수 있고(예: 차량 제어망 해킹), 안전을 위한 비상 해제 기능이 보안 허점이 될 수 있다. 그래서 최근 표준은 안전과 보안을 함께 분석하도록 요구한다.
IEC 61508은 안전 기능의 전 생애를 16단계의 전체 안전 수명주기로 관리한다. 큰 흐름은 다음과 같다.
- 개념 정의
- 전체 범위 정의
- 위험원 및 위험 분석
- 전체 안전 요구사항 도출
- 안전 요구사항 할당
- 운영·유지보수, 안전 검증(validation), 설치·시운전 계획
- E/E/PE 안전 관련 시스템 실현(하드웨어·소프트웨어 개발)
- 설치·시운전, 전체 안전 검증
- 운영·유지보수·수리, 변경, 폐기
IEC 61508에서 안전 요구사항은 다음 순서로 구체화된다.
| 단계 | 하는 일 | 산출물 |
|---|---|---|
| 1. 개념·범위 정의 | 피제어 설비(EUC)와 그 제어 시스템, 운영 환경, 경계를 정의 | EUC 정의, 범위 정의서 |
| 2. 위험원 및 위험 분석 | 정상·고장·오조작 상황에서 생길 수 있는 위험원과 사건 순서를 찾고 각 위험의 빈도와 심각도를 평가(HAZOP, FMEA, FTA, ETA) | 위험원 목록, 위험 평가 결과 |
| 3. 전체 안전 요구사항 | 허용 가능 위험과 비교해 위험을 줄이는 데 필요한 안전 기능 요구사항(무엇을 해야 하는가)과 안전 무결성 요구사항(얼마나 믿을 만해야 하는가, 필요한 위험 감소량)을 정함 | 전체 안전 요구사항 명세 |
| 4. 안전 요구사항 할당 | 각 안전 기능을 E/E/PE 시스템, 다른 기술의 안전 장치, 외부 위험 감소 설비에 나눠 맡기고, E/E/PE 시스템에 맡긴 기능의 SIL을 결정(위험 그래프, 위험 매트릭스, LOPA 등) | 할당 결과, 기능별 SIL |
| 5. E/E/PE 안전 요구사항 명세 | 할당된 안전 기능과 SIL을 하드웨어·소프트웨어가 구현할 수 있는 구체적 요구사항(응답 시간, 안전 상태, 진단, 고장 허용도)으로 기술 | E/E/PE 안전 요구사항 명세서 |
| 6. 소프트웨어 안전 요구사항 명세 | 그중 소프트웨어가 맡는 안전 기능과 무결성 요구사항, 자기 진단, 비안전 기능과의 분리 요구를 명세 | 소프트웨어 안전 요구사항 명세서 |
SIL이 높을수록 정형 명세, 정적 분석, 높은 시험 커버리지, 독립적 검증 같은 더 엄격한 개발 기법이 요구된다.
| 분야 | 표준 | 안전 등급 | 특징 |
|---|---|---|---|
| 일반(기본 표준) | IEC 61508 | SIL 1~4 | 모든 E/E/PE 안전 시스템의 기본 틀. 분야별 표준의 모체 |
| 자동차 | ISO 26262 | ASIL A~D(QM은 안전 무관) | 심각도·노출 가능성·제어 가능성으로 ASIL 결정. V 모델 개발 공정 |
| 의료기기 소프트웨어 | IEC 62304 | 소프트웨어 안전 등급 A·B·C | 부상 가능성에 따라 등급. 위험관리는 ISO 14971과 연계 |
| 항공 소프트웨어 | DO-178C | 설계 보증 수준(DAL) A~E | 고장 영향(재앙적~영향 없음)에 따라 목표 수와 독립성 요구. 구조 커버리지(MC/DC) 요구 |
| 철도 | EN 50128(현 EN 50716), EN 50129 | SIL 0~4 | 신호·제어 소프트웨어 |
| 공정 산업 | IEC 61511 | SIL 1~4 | 안전 계장 시스템(SIS) |
| 원자력 | IEC 61513, IEC 60880 | 안전 등급 분류 | 원자력 발전소 계측 제어 |
| 기계 | IEC 62061, ISO 13849 | SIL, 성능 수준(PL) a~e | 기계 안전 제어 시스템 |
IEC 61508은 SIL을 고장 확률로 정의하는 반면, ISO 26262의 ASIL은 고장 확률보다 위험 상황의 특성(심각도·노출·제어 가능성)으로 정하고, DO-178C는 확률 목표 없이 개발 공정의 엄격성으로 보증한다는 점이 다르다.
기능 안전 시스템의 센서·제어기·액추에이터가 통신망으로 연결되면, 통신 오류가 곧 안전 기능의 실패가 된다. 그래서 안전 통신 표준(IEC 61784-3, 철도의 EN 50159)은 블랙 채널 원칙을 쓴다. 통신망 자체는 신뢰하지 않는 것으로 보고, 송수신 양 끝의 안전 계층이 오류를 검출하도록 하는 방식이다.
| 평가 항목 | 체크리스트 |
|---|---|
| 안전 요구사항 추적성 | 통신으로 전달하는 안전 기능과 요구 SIL이 정의되어 있는가. 통신 고장이 위험 분석에 반영되었는가 |
| 안전 통신 프로토콜 | IEC 61784-3 등 인정된 안전 프로파일을 쓰는가. 블랙 채널 원칙으로 설계되었는가 |
| 오류 검출 능력 | 위 오류 유형을 모두 검출하는가. 잔여 오류 확률이 SIL 목표의 일정 비율 이내인가 |
| 실시간성 | 최악의 경우 전송 지연과 안전 기능 응답 시간(프로세스 안전 시간)을 만족하는가. 감시 시간 설정이 적절한가 |
| 고장 시 안전 상태 | 통신 단절·오류 검출 시 정해진 안전 상태로 전환하는가 |
| 가용성·이중화 | 통신 경로 이중화, 링 토폴로지 복구 시간이 요구를 만족하는가 |
| 비안전 트래픽과의 분리 | 비안전 데이터가 안전 통신을 방해하지 않는가(우선순위, 대역폭 보장, 망 분리) |
| 전자기 적합성(EMC)·환경 | 설치 환경의 전자기 잡음, 온도, 진동 조건에서 시험되었는가 |
| 보안 | 위장·변조 공격에 대한 대책이 있는가(IEC 62443 연계). 원격 접속이 통제되는가 |
| 검증·인증 | 독립 기관의 평가·인증을 받았는가. 시험 기록과 안전 매뉴얼이 있는가 |
| 운영·변경 관리 | 설정 변경, 펌웨어 갱신 시 영향 분석과 재검증 절차가 있는가 |